300 CLS:IF S<>6 THEN FOR I=1 TO 120:Z1(I)=0:Z2(I)=0:NEXT
310 P8=P:P9=P:IF S=6 THEN P8=P/5:P9=P8
320 IF T=1 OR T1>0 THEN 370
330 CLS:LOCATE 12,15:PRINT"Do you want a multiple choice type quiz (Y/N/X=Escape)?":GOSUB 3110
340 S$=INKEY$:IF S$="" THEN 340 ELSE IF ASC(S$)>90 THEN S$=CHR$(ASC(S$)-32)
350 IF S$="X" THEN 90
360 IF S$<>"Y" AND S$<>"N" THEN 340
370 IF S=6 THEN 480
380 IF S=6 THEN 90 ELSE CLS:LOCATE 12,6:PRINT"Do you want ";S2$;" or ";S1$;" (E/I/X=Escape)?":GOSUB 3110
390 X$=INKEY$:IF X$="" THEN 390 ELSE IF ASC(X$)>90 THEN X$=CHR$(ASC(X$)-32)
400 IF S=5 THEN T9=1
410 IF X$="E" THEN D=2:IF P9=0 AND S<>7 THEN LOCATE 20,15:PRINT"You have no ";S2$;" selections available.":FOR B=1 TO 4999:NEXT:GOTO 380
420 IF X$="E" THEN D=2:IF P3=0 AND S=7 THEN LOCATE 20,11:PRINT"You have no ";S2$;" selections to be retested on.":FOR B=1 TO 4999:NEXT:GOTO 380 ELSE 480
430 IF X$="I" THEN D=1:IF P8=0 AND S<>7 THEN LOCATE 20,15:PRINT"You have no ";S1$;" selections available.":FOR B=1 TO 4999:NEXT:GOTO 380
440 IF X$="I" THEN D=1:IF P4=0 AND S=7 THEN LOCATE 20,11:PRINT"You have no ";S1$;" selections to be retested on.":FOR B=1 TO 4999:NEXT:GOTO 380 ELSE 480
450 IF X$="X" AND S<>7 THEN S1=S
460 IF X$="X" THEN 90
470 GOTO 390
480 CLS
490 IF S=1 THEN PRINT STRING$(24,175);" ";:COLOR 0,7:PRINT" NOUN VOCABULARY DRILL OPTION ";:COLOR 7,0:PRINT" ";STRING$(24,174)
500 IF S=2 THEN PRINT STRING$(24,175);" ";:COLOR 0,7:PRINT" VERB VOCABULARY DRILL OPTION ";:COLOR 7,0:PRINT" ";STRING$(24,174)
510 IF S=3 THEN PRINT STRING$(17,175);" ";:COLOR 0,7:PRINT" MISCELLANEOUS WORD VOCABULARY DRILL OPTION ";:COLOR 7,0:PRINT" ";STRING$(17,174)
520 IF S=4 THEN PRINT STRING$(16,175);" ";:COLOR 0,7:PRINT" RANDOM SELECTION WORD VOCABULARY DRILL OPTION ";:COLOR 7,0:PRINT" ";STRING$(15,174)
530 IF S=5 THEN PRINT STRING$(23,175);" ";:COLOR 0,7:PRINT" PHRASE TRANSLATION DRILL OPTION ";:COLOR 7,0:PRINT" ";STRING$(22,174)
540 IF S=6 THEN PRINT STRING$(24,175);" ";:COLOR 0,7:PRINT" VERB CONJUGATION DRILL OPTION ";:COLOR 7,0:PRINT" ";STRING$(23,174)
550 IF S=7 THEN PRINT STRING$(32,175);" ";:COLOR 0,7:PRINT" RETEST OPTION ";:COLOR 7,0:PRINT" ";STRING$(31,174)
1180 IF S=6 THEN LOCATE 5,15:PRINT STRING$(20,178):LOCATE 5,40:PRINT STRING$(4,178):LOCATE 5,60:PRINT STRING$(11,178):IF S$="Y" THEN FOR II=1 TO 4:LOCATE 5+II*2,33:PRINT STRING$(20,178):NEXT
1190 IF S=5 OR (S=7 AND T9=1) THEN LOCATE 5,20:PRINT STRING$(35,178):IF S$="Y" THEN FOR II=1 TO 4:LOCATE 5+II*2,33:PRINT STRING$(35,178):NEXT
1200 IF S<5 OR S1<5 THEN LOCATE 5,20:PRINT STRING$(20,178):IF S$="Y" THEN FOR II=1 TO 4:LOCATE 5+II*2,33:PRINT STRING$(20,178):NEXT
1210 IF S=6 THEN 2600 ELSE 610
1220 N=INT(RND(1)*P)+1:IF D=2 THEN A$(I)=MID$(Z2$(N),2) ELSE A$(I)=Z1$(N)
1230 RETURN
1240 LOCATE 20,30:PRINT"Hit <P> to print selection,":PRINT TAB(34)"<N> for new selection, or":PRINT TAB(34)"<X> to exit.":GOSUB 3110
1250 ZZ$=INKEY$:IF ZZ$="" THEN 1250
1260 IF ZZ$="p" OR ZZ$="P" THEN GOSUB 1310:GOTO 1300
1990 IF S1=2 THEN PRINT STRING$(24,175);" ";:COLOR 0,7:PRINT" VERB VOCABULARY DRILL RESULTS ";:COLOR 7,0:PRINT" ";STRING$(23,174)
2000 IF S1=3 THEN PRINT STRING$(17,175);" ";:COLOR 0,7:PRINT" MISCELLANEOUS WORD VOCABULARY DRILL RESULTS ";:COLOR 7,0:PRINT" ";STRING$(16,174)
2010 IF S1=4 THEN PRINT STRING$(15,175);" ";:COLOR 0,7:PRINT" RANDOM SELECTION WORD VOCABULARY DRILL RESULTS ";:COLOR 7,0:PRINT" ";STRING$(15,174)
2020 IF S1=5 THEN PRINT STRING$(22,175);" ";:COLOR 0,7:PRINT" PHRASE TRANSLATION DRILL RESULTS ";:COLOR 7,0:PRINT" ";STRING$(22,174)
2030 IF S1=6 THEN 2790
2040 PRINT STRING$(80,"-"):PRINT
2050 IF P8<>0 OR P9<>0 THEN GOSUB 2200
2060 IF P3<>0 OR P4<>0 THEN GOSUB 2240
2070 PRINT"Press one of the following keys:":PRINT
2080 IF P3>0 OR P4>0 THEN PRINT TAB(20)"<R>esume Retesting"
2090 IF P8>0 OR P9>0 THEN PRINT TAB(20)"<G>o Back To Original Option"
2100 PRINT TAB(20)"<D>isplay Test Results"
2110 PRINT TAB(20)"<P>rint Test Results"
2120 PRINT TAB(20)"<C>hoose New Option":GOSUB 3110
2130 X$=INKEY$:IF X$="" THEN 2130 ELSE IF ASC(X$)>90 THEN X$=CHR$(ASC(X$)-32)
2140 IF X$="D" THEN GOSUB 2300:GOTO 1980
2150 IF X$="P" THEN PR$="Y":ON ERROR GOTO 3170:LPRINT:ON ERROR GOTO 0:GOSUB 2300:GOTO 1980
2160 IF X$="R" AND (P3>0 OR P4>0) THEN S=7:CLS:GOTO 190
2170 IF X$="G" AND (P8>0 OR P9>0) THEN S=S1:GOTO 380
2180 IF X$="C" THEN 90
2190 GOTO 2130
2200 PRINT"The following are still left in your original option selection:"
2210 IF P9>0 THEN PRINT TAB(20)P9;S2$" selections
2220 IF P8>0 THEN PRINT TAB(20)P8;S1$" selections
2230 PRINT STRING$(80,"-"):RETURN
2240 PRINT"You still have the following remaining for retesting:
2250 IF P3>0 THEN PRINT TAB(20)P3;S2$" selections
2260 IF P4>0 THEN PRINT TAB(20)P4;S1$" selections
2270 PRINT STRING$(80,"-"):RETURN
2280 P=0:IF A(1)=A(2) OR A(1)=A(3) OR A(1)=A(4) OR A(1)=A(5) OR A(1)=A(6) OR A(2)=A(3) OR A(2)=A(4) OR A(2)=A(5) OR A(2)=A(6) OR A(3)=A(4) OR A(3)=A(5) OR A(3)=A(6) OR A(4)=A(5) OR A(4)=A(6) OR A(5)=A(6) THEN P=1
2290 RETURN
2300 IF P=0 THEN RETURN ELSE CLS:LOCATE 1,13:COLOR 0,7:PRINT" THE FOLLOWING WERE MISSED DURING REGULAR OPTION TESTING ":COLOR 7,0
2310 IF P1<>100 THEN 2320 ELSE LOCATE 15,16:COLOR 0,7:PRINT" Congratulations!! You received a perfect score. ";:GOSUB 2850:RETURN
2320 Q=0:Q9$=U2$:IF S1=5 THEN Q9$=U7$
2330 IF PR$<>"Y" THEN 2360 ELSE IF S1<5 THEN LPRINT TAB(28)"VOCABULARY DRILL RESULTS":LPRINT
2340 IF S1=5 THEN LPRINT TAB(24)"PHRASE TRANSLATION DRILL RESULTS":LPRINT
2350 LPRINT"The following were missed during regular option testing:":LPRINT
2360 FOR I=1 TO P:IF Z1(I)>1 THEN PRINT USING Q9$;Z1$(I);MID$(Z2$(I),2);:Q=Q+1:IF S1=5 THEN Q=Q+1
2370 IF PR$="Y" AND Z1(I)>1 THEN ZZ$=Z1$(I):GOSUB 2920:LPRINT USING Q9$;ZZ$;:ZZ$=MID$(Z2$(I),2):GOSUB 2920:LPRINT USING Q9$;ZZ$;
2380 IF Z2(I)>1 THEN PRINT USING Q9$;MID$(Z2$(I),2);Z1$(I);:Q=Q+1:IF S1=5 THEN Q=Q+1
2390 IF PR$="Y" AND Z2(I)>1 THEN ZZ$=MID$(Z2$(I),2):GOSUB 2920:LPRINT USING Q9$;ZZ$;:ZZ$=Z1$(I):LPRINT USING Q9$;ZZ$;
2400 IF Q=44 THEN GOSUB 2850:CLS:Q=0:LOCATE 1,13:COLOR 0,7:PRINT" THE FOLLOWING WERE MISSED DURING REGULAR OPTION TESTING ":COLOR 7,0
2402 IF Q=44 THEN STOP
2410 NEXT:LOCATE 24,1:PRINT"Amount quizzed ="T1" Amount correct ="T2" Final percentage correct ="STR$(P1)"%";:IF INT(Q/2)<>Q/2 AND PR$="Y" THEN LPRINT
2420 IF PR$="Y" THEN LPRINT:LPRINT"Amount quizzed ="T1" Amount correct ="T2" Final percentage correct ="STR$(P1)"%"
2430 GOSUB 2850:CLS:IF (P5=0 AND P6=0) OR (P3=P5 AND P4=P6) THEN RETURN
2440 LOCATE 1,19:COLOR 0,7:PRINT" THE FOLLOWING WERE MISSED DURING RETESTING ":COLOR 7,0:Q=0
2450 IF PR$="Y" THEN LPRINT:LPRINT:LPRINT"The following were missed during restesting:":LPRINT
2460 FOR I=1 TO P:IF Z1(I)=3 THEN PRINT USING Q9$;Z1$(I);MID$(Z2$(I),2);:Q=Q+1:IF S1=5 THEN Q=Q+1
2470 IF PR$="Y" AND Z1(I)=3 THEN ZZ$=Z1$(I):GOSUB 2920:LPRINT USING Q9$;ZZ$;:ZZ$=MID$(Z2$(I),2):GOSUB 2920:LPRINT USING Q9$;ZZ$;
2480 IF Z2(I)=3 THEN PRINT USING Q9$;MID$(Z2$(I),2);Z1$(I);:Q=Q+1:IF S1=5 THEN Q=Q+1
2490 IF PR$="Y" AND Z2(I)=3 THEN ZZ$=MID$(Z2$(I),2):GOSUB 2920:LPRINT USING Q9$;ZZ$;:ZZ$=Z1$(I):GOSUB 2920:LPRINT USING Q9$;ZZ$;
2500 IF Q=44 THEN GOSUB 2850:CLS:Q=0:LOCATE 1,19:COLOR 0,7:PRINT" THE FOLLOWING WERE MISSED DURING RETESTING ":COLOR 7,0
2510 NEXT:IF PR$="Y" THEN LPRINT
2520 IF Q=0 THEN LOCATE 15,2:COLOR 0,7:PRINT" Congratulations!! You correctly answered all selections when being retested. ":COLOR 7,0
2530 GOSUB 2850:RETURN
2540 FOR I=1 TO 6:A(I)=INT(RND(1)*15)+1:NEXT:GOSUB 2280:IF P=1 THEN 2540 ELSE GOSUB 1610
2550 FOR I=1 TO 5:OPEN "I",1,"VERB"+MID$(STR$(A(I)),2)+".DAT"
2560 FOR K=1 TO 4:INPUT #1,X$:P=P+1:Z1$(P)=X$:X=INT(RND(1)*6)+1:Z1(INT(P/5)+1)=X
2570 FOR B=1 TO 4:FOR Z=1 TO 6:INPUT #1,X$:GOSUB 2890
2580 IF Z=X THEN P=P+1:Z1$(P)=X$:LOCATE 14,39:PRINT P
2590 NEXT Z:NEXT B:NEXT K:CLOSE:NEXT I:RETURN
2600 M=INT(RND(1)*P9)+1:IF Z1(M)=0 THEN 2600 ELSE P=((M-1)*5)+1:X=INT(RND(1)*4)+1:X1=X:X=P+X
2610 LOCATE 2,3:PRINT"*":FOR DE=1 TO 150:NEXT:LOCATE 2,3:PRINT" "
2620 BR$=INKEY$:IF BR$="" THEN 2630 ELSE IF BR$="x" OR BR$="X" THEN 90
2630 FOR N=1 TO 4:Z=INT(RND(1)*4)+1:A$(N)=Z1$(P+Z):NEXT
2640 IF A$(1)=A$(2) OR A$(1)=A$(3) OR A$(1)=A$(4) OR A$(2)=A$(3) OR A$(2)=A$(4) OR A$(3)=A$(4) THEN 2600
2650 FLAG=0:FOR K=1 TO 4
2660 IF Z1$(X)=A$(K) THEN FLAG=1:KK=K:K=4
2670 NEXT:IF FLAG=0 THEN 2610
2680 K=KK:LOCATE 5,15:PRINT USING U2$;Z1$(P)
2690 RESTORE 2900:FOR N=1 TO 6:READ Z$
2700 IF N=Z1(M) THEN LOCATE 5,40:PRINT USING U2$;Z$:BR$=Z$
2710 NEXT
2720 FOR N=1 TO 4:READ Z$
2730 IF N=X1 THEN LOCATE 5,60:PRINT USING U2$;Z$:X$=Z$
2740 NEXT:GOTO 780
2750 IF S=6 THEN LOCATE 24,9:PRINT"You have been quizzed on all available verb conjugation forms.";:LOCATE 25,8:PRINT"Press 'M' to load more selections or any other key for the menu.";
2760 IF S<>6 THEN LOCATE 24,3:PRINT"You have been quizzed with all available combinations. Hit any key for menu.";
2770 Z$=INKEY$:IF Z$="" THEN 2770
2780 IF S=6 AND (Z$="m" OR Z$="M") THEN CLS:P=0:GOTO 230 ELSE 90
2790 PRINT STRING$(23,175);" ";:COLOR 0,7:PRINT" VERB CONJUGATION DRILL RESULTS ";:COLOR 7,0:PRINT" ";STRING$(23,174):LOCATE 4,18:PRINT"The following conjugation forms were missed:"
2800 RESTORE 2910:FOR I=1 TO 6:READ Z$:NEXT:FOR I=0 TO 3:READ Z$:LOCATE 7,17*I+9:COLOR 0,7:PRINT " ";Z$;" ":COLOR 7,0:NEXT
2810 FOR K=0 TO 3:RESTORE 2910:FOR I=1 TO 6:READ Z$:LOCATE 8+I,17*K+10:PRINT Z$:LOCATE 8+I,17*K+15:PRINT E(I,K+1);:IF E(I,K+1)>3 THEN COLOR 23,0:PRINT"*":COLOR 7,0
2820 NEXT I,K:LOCATE 20,1:PRINT"Total quizzed =";T1;" Total correct =";T2;" Correct answer percentage =";STR$(P1);"%"
2830 LOCATE 25,23:COLOR 0,7:PRINT" Hit any key to return to the menu ";:COLOR 7,0:GOSUB 3110
2840 IF INKEY$="" THEN 2840 ELSE 90
2850 LOCATE 25,28:COLOR 0,7:PRINT" Hit any key to continue ";:COLOR 7,0:GOSUB 3110
2860 IF INKEY$="" THEN 2860 ELSE RETURN
2870 COLOR 0,7:LOCATE 24,23:PRINT" Hit any key to return to the menu ";:COLOR 7,0:GOSUB 3110
2880 IF INKEY$="" THEN 2880 ELSE 90
2890 BR$=INKEY$:IF BR$="" THEN RETURN ELSE IF BR$="x" OR BR$="X" THEN CLOSE:GOTO 90 ELSE RETURN
2900 DATA IO,TU,LUI,NOI,VOI,ESSI,PRESENT,IMPERFECT,PAST ABS.,FUTURE
2910 DATA Io,Tu,Lui,Noi,Voi,Essi,Present,Imperfect,Past Abs.,Future
2920 FOR II=1 TO LEN(ZZ$):IF MID$(ZZ$,II,1)=CHR$(133) THEN MID$(ZZ$,II,1)="a"
2930 IF MID$(ZZ$,II,1)=CHR$(138) OR MID$(ZZ$,II,1)=CHR$(130) THEN MID$(ZZ$,II,1)="e"
2940 IF MID$(ZZ$,II,1)=CHR$(163) OR MID$(ZZ$,II,1)=CHR$(151) THEN MID$(ZZ$,II,1)="u"
2942 IF MID$(ZZ$,II,1)=CHR$(141) OR MID$(ZZ$,II,1)=CHR$(161) THEN MID$(ZZ$,II,1)="i"
2950 IF MID$(ZZ$,II,1)=CHR$(149) OR MID$(ZZ$,II,1)=CHR$(162) THEN MID$(ZZ$,II,1)="o"
2970 NEXT:RETURN
2980 IF D=1 THEN 3000 ELSE FOR XX=1 TO 14:KEY(XX) ON:NEXT
3000 LOCATE 19,10:YY=19:XX=40:PRINT"Enter your answer (X=Escape): _":ANSWER$=""
3010 A$=INKEY$:IF A$="" THEN 3010
3020 IF ASC(A$)=13 THEN FOR II=1 TO 14:ON KEY(II) GOSUB 3100:KEY(II) OFF:NEXT:KEY 1,"":RETURN
3030 IF ASC(A$)=8 THEN IF LEN(ANSWER$)=0 THEN 3010 ELSE LOCATE YY,XX:PRINT" ":XX=XX-1:LOCATE YY,XX:PRINT"_":ANSWER$=LEFT$(ANSWER$,LEN(ANSWER$)-1):GOTO 3010
3140 LOCATE 18,1:IF (S<>6 AND D=1 AND S<>7) OR S=6 THEN XX=P8 ELSE IF S<>6 AND D=2 AND S<>7 THEN XX=P9 ELSE IF S=7 AND D=1 THEN XX=P4 ELSE IF S=7 AND D=2 THEN XX=P3
3150 IF XX=1 THEN PRINT" 1 selection remains" ELSE PRINT XX"selections remain "